home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / TimeObjects.idl < prev    next >
Text File  |  1996-05-01  |  8KB  |  259 lines

  1. /*
  2.      File:        TimeObjects.idl
  3.  
  4.      Contains:    International Time Interfaces.
  5.  
  6.      Version:    Technology:    System 8
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __TIMEOBJECTS_IDL__
  19. #define __TIMEOBJECTS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __CONDITIONALMACROS_IDL__
  25. #include <ConditionalMacros.idl>
  26. #endif
  27. #ifndef __KERNEL_IDL__
  28. #include <Kernel.idl>
  29. #endif
  30. #ifndef __LOCALEOBJECTS_IDL__
  31. #include <LocaleObjects.idl>
  32. #endif
  33. #ifndef __OSUTILS_IDL__
  34. #include <OSUtils.idl>
  35. #endif
  36. #ifndef __TEXTOBJECTS_IDL__
  37. #include <TextObjects.idl>
  38. #endif
  39. #ifndef __TIMING_IDL__
  40. #include <Timing.idl>
  41. #endif
  42. #ifndef __TYPES_IDL__
  43. #include <Types.idl>
  44. #endif
  45.  
  46. #ifdef __SOMIDL__
  47.  
  48. /*
  49.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  50.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  51.  ++                                                                                ++
  52.  ++                        Type definitions for Modern APIs                        ++
  53.  ++                                                                                ++
  54.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  55.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  56. */
  57. #if FOR_SYSTEM8_PREEMPTIVE
  58. /* Precision of TimeObject */
  59. typedef UInt8                    TimeObjectPrecision;
  60.  
  61. /* Maximun Time Object Precision */
  62. typedef UInt32                    TimeObjectNotificationRef;
  63.  
  64. typedef SOMLargeStruct            MachineLocationRecord;        /* Derived from a struct of 40 bytes in size */
  65.  
  66. typedef OpaquePtr                MachineLocationRecordPtr;    /* Substituted OpaquePtr for ``MachineLocationRecord*'' */
  67.  
  68. typedef OpaquePtr                ConstMachineLocationRecordPtr; /* Substituted OpaquePtr for ``MachineLocationRecord*'' */
  69.  
  70. typedef SOMLargeStruct            UTCTimeRecord;                /* Derived from a struct of 25 bytes in size */
  71.  
  72. typedef OpaquePtr                UTCTimeRecordPtr;            /* Substituted OpaquePtr for ``UTCTimeRecord*'' */
  73.  
  74. typedef OpaquePtr                ConstUTCTimeRecordPtr;        /* Substituted OpaquePtr for ``UTCTimeRecord*'' */
  75.  
  76. typedef SOMLargeStruct            UTCTimeIntervalRecord;        /* Derived from a struct of 29 bytes in size */
  77.  
  78. typedef OpaquePtr                UTCTimeIntervalRecordPtr;    /* Substituted OpaquePtr for ``UTCTimeIntervalRecord*'' */
  79.  
  80. typedef OpaquePtr                ConstUTCTimeIntervalRecordPtr; /* Substituted OpaquePtr for ``UTCTimeIntervalRecord*'' */
  81.  
  82. typedef UInt32                    TimeObjectConversionType;
  83.  
  84. typedef LocaleObjectRef            CalendarObjectRef;
  85.  
  86. typedef TextObject                TimeObjectFormatString;
  87.  
  88. /* DateTimeFormat Types: */
  89. typedef UInt32                    FormatStringRef;
  90.  
  91. #endif
  92. /*
  93.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  94.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  95.  ++                                                                                ++
  96.  ++                        Type definitions for Legacy APIs                        ++
  97.  ++                                                                                ++
  98.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  99.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  100. */
  101. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  102. /*
  103.  
  104.     Here are the current routine names and the translations to the older forms.
  105.     Please use the newer forms in all new code and migrate the older names out of existing
  106.     code as maintainance permits.
  107.     
  108.     New Name                    Old Name(s)
  109.     
  110.     DateString                    IUDatePString IUDateString 
  111.     InitDateCache
  112.     LongDateString                IULDateString
  113.     LongTimeString                IULTimeString
  114.     StringToDate                String2Date
  115.     StringToTime                                
  116.     TimeString                    IUTimeString IUTimePString
  117. */
  118. typedef SInt8                    DateForm;
  119.  
  120. typedef short                    StringToDateStatus;
  121.  
  122. typedef short                    String2DateStatus;
  123.  
  124. typedef SOMLargeStruct            DateCacheRecord;            /* Derived from a struct of 512 bytes in size */
  125.  
  126. typedef OpaquePtr                DateCachePtr;                /* Substituted OpaquePtr for ``DateCacheRecord*'' */
  127.  
  128. #endif
  129. /*
  130.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  131.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  132.  ++                                                                                ++
  133.  ++                                Modern API Definitions                            ++
  134.  ++                                                                                ++
  135.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  136.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  137. */
  138. #if FOR_SYSTEM8_PREEMPTIVE
  139. /*
  140.  *********************************************************
  141.  *
  142.  * TimeObject Constructors
  143.  *
  144.  *********************************************************
  145. */
  146. /*
  147.  *********************************************************
  148.  *
  149.  * Getter and Setter Functions for TimeObjects
  150.  *
  151.  *********************************************************
  152. */
  153. /*
  154.  *********************************************************
  155.  *
  156.  * Getter and Setter Functions for Machine Location
  157.  *
  158.  *********************************************************
  159. */
  160. /*
  161.  *********************************************************
  162.  *
  163.  * Getter and Setter Functions for TimeObjects Precision
  164.  *
  165.  *********************************************************
  166. */
  167. /*
  168.  *********************************************************
  169.  *
  170.  * Timers
  171.  *
  172.  *********************************************************
  173. */
  174. /*
  175.  *********************************************************
  176.  *
  177.  * Manipulation and Comparison functions for TimeObjects
  178.  *
  179.  *********************************************************
  180. */
  181. /*
  182.  *********************************************************
  183.  *
  184.  * TimeObjects to Seconds from 1/1/04 conversion functions
  185.  *
  186.  *********************************************************
  187. */
  188. /*
  189.  *********************************************************
  190.  *
  191.  * TimeObjectIntervals to Nanosecond conversion functions
  192.  *
  193.  *********************************************************
  194. */
  195. /*
  196.  *********************************************************
  197.  *
  198.  * Internet Time/Mail Conversion Routines
  199.  *
  200.  *********************************************************
  201. */
  202. /*
  203.  *********************************************************
  204.  *
  205.  * Calendar Routines
  206.  *
  207.  *********************************************************
  208. */
  209. /*
  210.  *********************************************************
  211.  *
  212.  * Text Conversion Routines
  213.  *
  214.  *********************************************************
  215. */
  216. #endif
  217. /*
  218.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  219.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  220.  ++                                                                                ++
  221.  ++                                Legacy API Definitions                            ++
  222.  ++                                                                                ++
  223.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  224.  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  225. */
  226. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  227. /*
  228.  **************************************************************************************
  229.  *
  230.  * The following functions are new names that work on 68k and PowerPC
  231.  *
  232.  **************************************************************************************
  233. */
  234. /*
  235.  **************************************************************************************
  236.  *
  237.  * The following are macros which map new names to the names exported by InterfaceLib
  238.  *
  239.  **************************************************************************************
  240. */
  241. /*
  242.  **************************************************************************************
  243.  *
  244.  * The following are macros which map old names to the names exported by InterfaceLib
  245.  *
  246.  **************************************************************************************
  247. */
  248. #if CGLUESUPPORTED
  249. #if OLDROUTINENAMES
  250. #else
  251. #endif
  252. #endif
  253. #endif
  254.  
  255. #endif /* __SOMIDL__ */
  256.  
  257. #endif /* __TIMEOBJECTS_IDL__ */
  258.  
  259.